#include <stdio.h> 
#include <string.h> 
#include <unistd.h> 
#include <sys/types.h> 
#include<sys/stat.h> 
#include <fcntl.h>
int main()
{ 
   umask(0);
   close(0); 
   //close(1);
  ////close(2);
  //>输出重定向  输出到文件中 
  //int fd = open("test.txt",O_WRONLY | O_CREAT | O_TRUNC ,0666);
  
  ////>>追加重定向 
  //int fd = open("test.txt",O_WRONLY | O_CREAT | O_APPEND ,0666);
  
  //<输入重定向,关掉close 0
  int fd = open("test.txt",O_RDONLY);
  
  if(fd<0) { perror("open"); return 1; }

  dup2(fd,0);
  char arr[64];
  while(1)
  {
      printf(">");
      if(fgets(arr,sizeof arr,stdin)==NULL) break;
      printf("%s",arr);
  }




  ////  //用fd替换标准输出流,会将内容重定向到文件中 
 // dup2(fd,1);//输出重定向|追加1重定向
  //printf("open fd:%d\n",fd);////printf->stdout 
  //fprintf(stdout,"open fd:%d\n",fd);

  //const char* s="wkdanad";
  //write(1,s,strlen(s));
  fflush(stdout);
  close(fd);
  return 0 ;
}
